package com.cci.kangdao.service;

import java.util.List;
import java.util.Map;

import com.cci.kangdao.dao.model.ServiceStationT;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.servlet.ModelAndView;

/**
 * 工单查询列表相关
 * @author zhangzhuang
 *
 */
public interface WorkOrderListService {
	
	/**
	 * 获取用户收藏列表
	 * @param map
	 * @return
	 */
	public ModelAndView getCollectionList(Map<String,Object> map);
	
	/**
	 * 设置用户收藏与否
	 * @param map
	 * @return
	 */
	public ModelAndView setUpCollection(Map<String,Object> map);
	
	/**
	 * 查询最终用户的工单列表
	 * @param map
	 * @return
	 */
	public ModelAndView getCustomerOrderList(Map<String,Object> map);
	
	/**
	 * 查询技师工单列表
	 * @param map
	 * @return
	 */
	public ModelAndView getTechnicianOrderList(Map<String,Object> map);
	
	/**
	 * 查询站长工单列表
	 * @param map
	 * @return
	 */
	public ModelAndView getStationmasterOrderList(Map<String,Object> map);
	
	/**
	 * 查询区域服务经理工单列表
	 * @param map
	 * @return
	 */
	public ModelAndView getManagerOrderList(Map<String,Object> map);

	/**
	 * 查询工单操作记录表
	 * @param map
	 * @return
	 */
	public ModelAndView workOrderFlowTime(Map<String,Object> map);
	

	/**
	 * 获取最大工单Id
	 * @param map
	 * @return
	 */
	public Map<String,Object> getMaxOrderId(String time);
	
	/**
	 * 客户服务经理查询工单列表
	 * @param map
	 * @return
	 */
	public ModelAndView getCusManagerOrderList(Map<String,Object> map);
	
	/**
	 * 商务处主任查询工单列表
	 * @param map
	 * @return
	 */
	public ModelAndView getDepartmentOrderList(Map<String,Object> map);


	/**
	 * 查询区域工程师工单列表(DBU)
	 * @param map
	 * @return
	 */
	public ModelAndView getDistrictEngineerOrderList(Map<String,Object> map);



	/**
	 * 查询服务工单经理工单列表(DBU)
	 * @param map
	 * @return
	 */
	public ModelAndView getWorkOrderManagerOrderList(Map<String,Object> map);

	/**
	 * 移动技师项目获取服务工单列表
	 * @param map
	 */
	void getWorkListForMT(Map<String,Object> map);

	//移动技师获取工单详情
	ModelAndView getOrderInfo(Map<String,Object> map);


    //外部系统获取工单详情    不拦截
    ModelAndView outSideUserGetOrderInfoById(Map<String, Object> map);

    void getWorkOrderIsExistence(Map<String, Object> map);

     /**
      * @description: 根据一网服务站查询二网服务站
      * @param:
      * @return:
      * @exception:
      * @author: shiliqiang
      * @company: CTY Technology Co.,Ltd
      * @since: 2022/5/18 10:20
      * @version: V1.0
      */
	List<ServiceStationT> querychildrenStationByFatherStationId(Long stationId);

	/**
	 * @description:根据二网服务站id查询一网服务站
	 * @param: businessNo  作用是防止二网服务站被多家一网授权，通过businessNo识别要查询哪家二网服务站
	 * @return:
	 * @exception:
	 * @author: shiliqiang
	 * @company: CTY Technology Co.,Ltd
	 * @since: 2022/5/18 10:18
	 * @version: V1.0
	 */
	ServiceStationT queryFatherStationByChildrenStationId(Long stationId, String businessNo);
}
